This patch fixes a number of problems with have with build:

 * more clean cut off pcre library; we'll never use bundled pcre library, so
   some autoconf added REGEX_LIBS to pass correct system libs and header change.

 * We use AC_CONFIG_SUBDIRS to pass make autoconf reconfigure gnuregex library
   - this way ./configure will be called correctly and correct comipler will be
   selected automatically.

 * With the previous change some modifications were required to make gnuregex
   buildable: a) we should not overide CFLAGS in Makefile.in (as they together
   with -DHAVE_CONFIG_H will be passed to gnuregex and it'll fail to build,
   since no config.h exist) b) obvious way to remove warning "_GNU_SOURCE"
   redefined

 * also we don't pass $(MAKEFLAGS) since it caused us problems in the past (bug
   #178684)

=== modified file 'Makefile.in'
--- Makefile.in	2008-11-17 09:02:30 +0000
+++ Makefile.in	2008-11-17 10:42:09 +0000
@@ -7,7 +7,8 @@
 
 CC=@CC@
 
-CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ 
+# Never redefine CFLAGS, as it pollutes env and gnuregex build failes
+EXTRA_CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ 
 INCLUDES=-I@srcdir@ @PCAP_INCLUDE@ @EXTRA_INCLUDES@
 
 LDFLAGS=@LDFLAGS@ @PCAP_LINK@
@@ -34,25 +35,25 @@
 
 REGEX_DIR=@REGEX_DIR@
 REGEX_OBJS=@REGEX_OBJS@
-
+REGEX_LIBS=@REGEX_LIBS@
 
 all: $(TARGET) 
 
 $(TARGET): $(REGEX_OBJS) $(OBJS) 
-	$(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) 
+	$(CC) $(EXTRA_CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(REGEX_LIBS) $(LIBS) 
 
 debug: $(REGEX_OBJS) $(OBJS)
-	$(CC) $(CFLAGS) $(LDFLAGS) -g -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) 
+	$(CC) $(EXTRA_CFLAGS) $(LDFLAGS) -g -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(REGEX_LIBS) $(LIBS) 
 
 static: $(REGEX_OBJS) $(OBJS)
-	$(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET).static -static $(OBJS) $(REGEX_OBJS) $(LIBS) 
+	$(CC) $(EXTRA_CFLAGS) $(LDFLAGS) -o $(TARGET).static -static $(OBJS) $(REGEX_OBJS) $(REGEX_LIBS) $(LIBS) 
 
 install: $(TARGET)
 	$(INSTALL) -c -m 0755 $(TARGET)  $(DESTDIR)/$(BINDIR_INSTALL)/$(TARGET)
 	$(INSTALL) -c -m 0644 $(MANPAGE) $(DESTDIR)/$(MANDIR_INSTALL)/$(MANPAGE)
 
 .c.o:	
-	$(CC) $(CFLAGS) $(INCLUDES) -g -c $<
+	$(CC) $(EXTRA_CFLAGS) $(INCLUDES) -g -c $<
 
 clean:
 	make -C $(REGEX_DIR) clean
@@ -63,7 +64,7 @@
 	rm -f config.status config.cache config.log config.h Makefile 
 
 $(REGEX_OBJS): $(REGEX_OBJS:.o=.c) $(REGEX_DIR)/*.h
-	$(MAKE) $(MAKEFLAGS) -C $(REGEX_DIR) $(notdir $(REGEX_OBJS))
+	$(MAKE) -C $(REGEX_DIR) $(notdir $(REGEX_OBJS))
 
 $(OBJS): Makefile ngrep.c ngrep.h
 

=== modified file 'configure.in'
--- configure.in	2008-11-17 09:02:30 +0000
+++ configure.in	2008-11-17 10:11:29 +0000
@@ -124,14 +124,16 @@
   use_pcre="no"
 ])
 
+REGEX_DIR=""
+REGEX_OBJS=""
+REGEX_LIBS=""
 if test $use_pcre = yes; then
 
   echo 
-  echo 'Configuring Perl-Compatible Regular Expression (PCRE) library ...' 
+  echo 'Using System Perl-Compatible Regular Expression (PCRE) library ...' 
   echo 
 
-  REGEX_DIR='pcre-5.0'
-  REGEX_OBJS="$REGEX_DIR/pcre.o $REGEX_DIR/study.o"
+  REGEX_LIBS="`pcre-config --libs`"
   USE_PCRE="1"
 
 else
@@ -144,12 +146,19 @@
   REGEX_OBJS="$REGEX_DIR/regex.o"
   USE_PCRE="0"
 
+  AC_CONFIG_SUBDIRS([regex-0.12])
+
+  echo
+  echo 'GNU Regular Expression library is configured...'
+  echo
+
 fi
 
-( cd $REGEX_DIR && ./configure )
 
 AC_SUBST(REGEX_DIR)
 AC_SUBST(REGEX_OBJS)
+AC_SUBST(REGEX_LIBS)
+
 
 
 echo

=== modified file 'ngrep.c'
--- ngrep.c	2008-11-17 09:02:30 +0000
+++ ngrep.c	2008-11-17 09:55:32 +0000
@@ -92,7 +92,7 @@
 #endif
 
 #if USE_PCRE
-#include "pcre-5.0/pcre.h"
+#include <pcre.h>
 #else
 #include "regex-0.12/regex.h"
 #endif

=== modified file 'regex-0.12/Makefile.in'
--- regex-0.12/Makefile.in	2008-11-17 09:02:30 +0000
+++ regex-0.12/Makefile.in	2008-11-17 10:20:52 +0000
@@ -18,23 +18,6 @@
 
 version = 0.12
 
-# You can define CPPFLAGS on the command line.  Aside from system-specific
-# flags, you can define:
-#   -DREGEX_MALLOC to use malloc/realloc/free instead of alloca.
-#   -DDEBUG to enable the compiled pattern disassembler and execution
-#           tracing; code runs substantially slower.
-#   -DEXTRACT_MACROS to use the macros EXTRACT_* (as opposed to
-#           the corresponding C procedures).  If not -DDEBUG, the macros
-#           are used.
-CPPFLAGS = 
-
-# Likewise, you can override CFLAGS to optimize, use -Wall, etc.
-CFLAGS = -g
-
-# Ditto for LDFLAGS and LOADLIBES.
-LDFLAGS =
-LOADLIBES =
-
 srcdir = @srcdir@
 VPATH = @srcdir@
 
@@ -43,7 +26,7 @@
 
 SHELL = /bin/sh
 
-subdirs = doc test
+subdirs = 
 
 default all:: regex.o
 .PHONY: default all

=== modified file 'regex-0.12/configure.in'
--- regex-0.12/configure.in	2008-11-17 09:02:30 +0000
+++ regex-0.12/configure.in	2008-11-17 10:19:18 +0000
@@ -34,4 +34,4 @@
 
 esac
 
-AC_OUTPUT(Makefile doc/Makefile test/Makefile)
+AC_OUTPUT(Makefile)

=== modified file 'regex-0.12/regex.c'
--- regex-0.12/regex.c	2008-11-17 09:02:30 +0000
+++ regex-0.12/regex.c	2008-11-17 10:15:58 +0000
@@ -34,7 +34,9 @@
   #pragma alloca
 #endif
 
+#ifndef _GNU_SOURCE
 #define _GNU_SOURCE
+#endif
 
 /* We need this for `regex.h', and perhaps for the Emacs include files.  */
 #include <sys/types.h>

